package com.healthcloud.dao.patient;


import com.healthcloud.dao.BaseDao;
import com.healthcloud.entity.patient.PatientDataSpecEntity;
import com.healthcloud.utils.PageParam;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;

public interface PatientDataSpecDao extends BaseDao<PatientDataSpecEntity> {
    void saveSpec(@Param("entity") PatientDataSpecEntity entity);

    List<PatientDataSpecEntity> listSpecByIdCard(@Param("entity") PatientDataSpecEntity entity, @Param("pageParam") PageParam pageParam);

    Integer countSpecByIdCard(@Param("entity") PatientDataSpecEntity entity);

    void updateSpec(@Param("entity") PatientDataSpecEntity entity);

    /**
     * 根据 id列表，批量删除特殊处理备注
     * @param idList
     * @return
     */
    Integer batchDeleteSpecRemarks(@Param("idList") List<Integer> idList);

    /**
     * 根据身份证号，查询有效的特殊处理备注条数
     * @param idCard
     * @return
     */
    int countNormalSpecRemark(@Param("idCard") String idCard);

    /**
     * 修改病人身份证号
     * @param oldIdCard 修改前身份证号
     * @param newIdCard 修改后身份证号
     */
    void updateIdCard(@Param("newIdCard") String newIdCard, @Param("oldIdCard") String oldIdCard);
}